/*
 * @lc app=leetcode.cn id=821 lang=typescript
 *
 * [821] 字符的最短距离
 */

// @lc code=start
function shortestToChar(s: string, c: string): number[] {
    // 1. 找到 相符位置 数组
    const indexs = s.split("").reduce((col, cur, index) => {
        if (cur === c) col.push(index);
        return col;
    }, [] as number[]);
    // 2. 数组 与 位置逐个相减并取最小值
    return s.split("").map((i, index) => {
        return indexs.reduce((col, cur) => {
            return Math.min(col, Math.abs(cur - index));
        }, Infinity);
    });
}
// @lc code=end
